The technology described herein relates to a method of and an apparatus for caching data in a graphics processing system, and in particular to a method of and an apparatus for storing texture data in a cache in a graphics processing system.
It is common in graphics processing systems to generate data values (e.g. colours) for sampling positions in a render output (e.g. image to be displayed) by applying so-called textures or texture data to the surfaces to be drawn. Such textures are typically applied by storing an array of texture elements or “texels”, each representing given texture data (such as colour, luminance and/or light/shadow, etc., values), and then mapping the texels onto the corresponding elements, such as (and typically), a set of sampling positions, for the render output in question (e.g. image to be displayed).
Thus a graphics texture will typically be configured as an array of data elements (texture elements (texels)), each having a corresponding set of texture data stored for it. The texture data for a given position within the texture is then determined by sampling the texture at that position (e.g. by using a bilinear interpolation process).
When texture data is needed by a graphics processor (e.g. for rendering an image to be displayed), the texture data required for the rendering process is usually first fetched from the memory where it is stored and loaded into a cache (e.g. a texture cache) of or accessible to the graphics processor, with the graphics processor (the rendering pipeline implemented by the graphics processor) then reading the texture data from the cache for use.
The Applicants believe that there is scope for the improvements to the caching of texture data in graphics processing systems.
Like numerals are used for like features in the drawings (where appropriate).